package com.market.service;
import com.market.dto.GoodsDto;
import com.market.entity.Goods;
import java.util.List;

/**
 * @ClassName GoodsService
 * @Description 商品业务层
 * @Author pengqing
 * @Date 2022/3/24 13:16
 * @Version 1.0
 */

public interface GoodsService {
    //增加商品
    boolean addGoods(Goods goods);

    //上架商品
    boolean shelveGoods(int goodsId);

    //下架商品
    boolean offShelveGoods(int goodsId);

    //删除商品
    boolean deleteGoods(int goodsId);

    //修改商品属性（名称，售价，描述）
    boolean updateGoodsProperty(int goodsId,String goodsName,double price,String description,int typeId,int sellNum);

    //修改商品可销售数量
    boolean updateGoodsSellNums(int goodsId,int newSellNum);

    //根据类别id查看所有商品
    List<Goods> queryGoodsByTypeId(int typeId);

    //根据商品id查询某个商品
    Goods queryGoodsByGoodsId(int goodsId);

    //根据商品名查询商品
    Goods queryGoodsByGoodsName(String goodsName);

    //查询所有已上架的商品
    List<GoodsDto> queryGoodsByState();

    //查询所有商品
    List<Goods> queryAllGoods();

    //根据商品类别查询商品 Dto
    List<GoodsDto> queryByType(int typeId);
}
